import java.util.Arrays;
import java.util.HashMap;

/*
 * @lc app=leetcode.cn id=506 lang=java
 *
 * [506] 相对名次
 */

// @lc code=start
//主要思路是先保存每个成绩的位置，之后排序了从高到底一个个在位置上给排名
class Solution {
    public String[] findRelativeRanks(int[] nums) {
        String[] ans = new String[nums.length];
        HashMap<Integer,Integer> map = new HashMap<Integer,Integer>();
        for(int i = 0 ;i< nums.length ;i++){
            map.put(nums[i], i);//把每个成绩的位置放进去
        }
        Arrays.sort(nums);//默认增序
        int j = nums.length-1;
        for(int i = 0; i<nums.length ;i++){
            if(j == nums.length-1){
                ans[map.get(nums[j])] = "Gold Medal";
            }else if(j == nums.length-2){
                ans[map.get(nums[j])] = "Silver Medal";
            }else if(j == nums.length-3){
                ans[map.get(nums[j])] = "Bronze Medal";
            }else{
                ans[map.get(nums[j])] = i+1+"";
            }
            j--;
        }
        return ans;
    }
}
// @lc code=end

